Often there is a need to open an existing file or write information to a new file. To achieve this you can use the calls as described in the examples below.
Open a file for reading
var handle = OpenFileForReading("C:\\Users\\administrator\\Documents\\Sym3 Integrator\\ChutesMap.csv"); var line = ReadLine(handle); // ... CloseFile(handle);
Open a file for writing
var handle = OpenFileForWriting("C:\\Users\\administrator\\Documents\\Sym3 Integrator\\ChutesMap.csv"); // Boolean type: Flush file after writing the line. Default = false (for compatibility) WriteLine(handle,"ABS01",true); // ... CloseFile(handle);
Handle Seek(fileHandle: handle, offset: integer, whence: integer (OPTIONAL));
This function sets the current position of this fileHandle to the given offset according to whence which is optional.
By default whence is 0.
Name | Type | Description |
fileHandle | Handle | The handle of the file which to be associate (the handle is returned by OpenFileForReading) |
offset | Integer | Offset value to set the current position |
whence | Integer |
Position used as reference for the offset. It is specified by one of the following to be used as arguments for this function: 0 - Seek from beginning of file (default) 1 - Seek from current position of file 2 - Seek from end of file |
Return value - None
string GetProjectDirectory();
New in v7.19 - This function returns the directory where the current project is located. Will returns an empty string if the project has not been saved yet.
Return value - a string that contains the directory where the current project is located. The directory will end with a folder seprator. Example: C:\Temp\
Example:
var dir = GetProjectDirectory(); var handle = OpenFileForReading(dir + "ChutesMap.csv");
Example:
function OnSimulationStart() { // Open file for reading var handle = OpenFileForReading("C:\\Users\\administrator\\Documents\\Sym3 Integrator\\ChutesMap.csv"); //Seek from beginning of file Seek(handle,200000,0); var _line = ReadLine(handle); LogDebug("Seek from beginning of file: " + _line); //Seek from current position of file Seek(handle,299999,1); var _line1 = ReadLine(handle); LogDebug("Seek from current position of file: " + _line1); //Seek from end of file Seek(handle,200000,2); var _line2 = ReadLine(handle); LogDebug("Seek from end of file: " + _line2); CloseFile(handle); }
Sample script to load a CSV file into memory array and address as cells